package com.huitone.gddw.service;

import java.util.List;
import java.util.Map;

import com.huitone.gddw.dao.entity.GateDef;
import com.huitone.gddw.model.support.QueryPage;
import com.huitone.gddw.service.dto.GateDefDTO;

/**
* @Title IGateDefService
* @Package com.huitone.gddw.service
* @Description TODO
* @author chengsiyue
* @date 2017年5月5日 上午10:59:50
* @version V1.0   
*/
public interface IGateDefService {
	
	/**
	 * 分页查询
	 * @param page QueryPage
	 * @return QueryPage
	 */
	QueryPage<GateDefDTO> selectPage(QueryPage<GateDef> page);
	
	/**
	 * 根据主键查询唯一记录
	 * @param gateLinkId 短信通道ID
	 * @return GateDef
	 */
	GateDef selectByPrimaryKey(String gateLinkId);
	
	/**
	 * 根据主键获取修改页面数据
	 * @param gateLinkId 短信通道ID
	 * @return GateDefDTO
	 */
	GateDefDTO toUpdate(String gateLinkId);
	
	/**
	 * 保存
	 * @param entity GateDef
	 */
	void save(GateDef entity);
	
	/**
	 * 更新
	 * @param entity GateDef
	 */
	void update(GateDef entity);
	
	/**
	 * 为空不修改
	 * @param entity
	 */
	void updateByPrimaryKeySelective(GateDef entity);
	
	/**
	 * 根据主键删除记录
	 * @param gateLinkId 短信通道ID
	 */
	void delete(String gateLinkId);
	
	/**
	 * 根据条件获取记录
	 * @param params 查询参数
	 * @return List
	 */
	List<GateDefDTO> getRecord(Map<String, Object> params);
	
	/**
	 * 获取短信通道信息
	 * @return gateLinkId gateLinkName
	 */
	List<Map<String, Object>> getGateLink(String status,String gateLinkName);
	
	/**
	 * 根据通道名称获取短信通道信息
	 * @return gateLinkId gateLinkName
	 */
	List<Map<String, Object>> getGateLinkByGateLinkName(String gateLinkName);
	
	/**
	 * 发送规则
	 * @param gateLinkId 通道ID
	 * @param provinces 省份集
	 * @param mobilCorps 运营商集
	 */
	void changeLinkSend(String gateLinkId, String provinces, String mobilCorps);
	
}
